home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 015a / env15w.zip / DIRJUMP.BAT < prev    next >
DOS Batch File  |  1991-10-15  |  1KB  |  50 lines

  1. @echo off
  2. if .%1==. goto POP
  3. if %1==/? goto HELP
  4. goto PUSH
  5.  
  6. :HELP
  7. echo Usage: DIRJUMP {Subdir}    Save current and go to given directory
  8. echo        DIRJUMP             Return to previous directory
  9. goto EXIT
  10.  
  11. :PUSH
  12. env set envtmp1=%1
  13. env set disknow={get*disk},%disknow%
  14. env set dirnow={get*dir},%dirnow%
  15. env set envtmp2=pos(:~%envtmp1%)
  16. env calc envtmp2
  17. if %envtmp2%==0 goto setdir
  18. env set envtmp2=mid(%envtmp1%~1~2)
  19. env calc envtmp2
  20. %envtmp2%
  21. :setdir
  22. env set envtmp2=pos(\~mid(%envtmp1%~length(%envtmp1%)~1))
  23. env calc envtmp2
  24. env set envtmp3=mid(%envtmp1%~1~length(%envtmp1%)-%envtmp2%)
  25. env calc envtmp3
  26. cd %envtmp3%
  27. goto EXIT
  28.  
  29. :POP
  30. if .%disknow%==. goto EXIT
  31. if .%dirnow%==. goto EXIT
  32. env set envtmp2=pos(,~%disknow%)
  33. env calc envtmp2
  34. env set envtmp1=mid(%disknow%~1~%envtmp2%)
  35. env calc envtmp1
  36. %envtmp1%
  37. env set disknow=delete(%disknow%~1~%envtmp2%)
  38. env calc disknow
  39. if %disknow%==0 env erase disknow
  40. env set envtmp2=pos(,~%dirnow%)
  41. env calc envtmp2
  42. env set envtmp1=mid(%dirnow%~1~%envtmp2%)
  43. env calc envtmp1
  44. cd %envtmp1%
  45. env set dirnow=delete(%dirnow%~1~%envtmp2%)
  46. env calc dirnow
  47. if %dirnow%==0 env erase dirnow
  48. :EXIT
  49. env erase envtmp?
  50.